Return to doc.sitecore.com

  Configuration file changes in Sitecore CMS and DMS 6.6.0 rev. 120918 compared to CMS 6.5.0 and DMS 2.0.1 rev. 120706

This update requires you to make changes to the following files:

The clean config files for Sitecore CMS and DMS 6.6.0 rev. 120918 can be downloaded using the following links:

Changes to the Web.config file

The following changes have been made to the Web.config file of Sitecore CMS 6.6.0 rev. 120918 (Initial Release) as compared to the Web.config file of Sitecore CMS 6.5.0 rev. 120706 (Update-5):

  1. In the <appSettings> section, change the class name for key "Lucene.Net.FSDirectory.class" to "Sitecore.Search.FSDirectory, Sitecore.Kernel":
    <add key="Lucene.Net.FSDirectory.class" value="Sitecore.Search.FSDirectory, Sitecore.Kernel" />
  2. In the <appSettings> section, remove the following key:
    <add key="Lucene.Net.CompressionLib.class" value="Sitecore.IO.Compression, Sitecore.Kernel" />
  3. In the <sitecore><events> section, add the following handler to the event "item:moved". The section now looks like this in a default Sitecore installation:
    <event name="item:moved">
      <handler type="Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" method="OnItemMoved" />
    </event>
  4. In the <sitecore><events> section add the following handler to the event "item:moved:remote". The section now looks like this in a default Sitecore installation:
    <event name="item:moved:remote">
      <handler type="Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" method="OnItemMovedRemote" />
    </event>
  5. In the <sitecore><events> section, add a handler "Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" to the event "item:versionRemoved". The section now looks like this in a default Sitecore installation:
    <event name="item:versionRemoved">
      <handler type="Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" method="OnVersionRemoved" />
      <handler type="Sitecore.Links.ItemEventHandler, Sitecore.Kernel" method="OnVersionRemoved" />
      <handler type="Sitecore.Rules.ItemEventHandler, Sitecore.Kernel" method="OnVersionRemoved" />
    </event>
  6. In the <sitecore><events> section, add a handler "Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" to the event "item:versionRemoved:remote". The section now looks like this in a default Sitecore installation:
    <event name="item:versionRemoved:remote">
      <handler type="Sitecore.Globalization.ItemEventHandler, Sitecore.Kernel" method="OnVersionRemovedRemote" />
      <handler type="Sitecore.Rules.ItemEventHandler, Sitecore.Kernel" method="OnVersionRemovedRemote" />
    </event>
  7. In the <httpRequestBegin> pipeline, add a node for a new processor of type DeviceSimulatorResolver, between the ItemResolver and LayoutResolver processors. The <acceptChanges> pipeline now looks like this in a default Sitecore installation:
    <httpRequestBegin>
      <processor type="Sitecore.Pipelines.PreprocessRequest.CheckIgnoreFlag, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.StartMeasurements, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.IgnoreList, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.SiteResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.UserResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.DatabaseResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.BeginDiagnostics, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.DeviceResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.LanguageResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.CustomHandlers, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.FilterUrlExtensions, Sitecore.Kernel">
        <param desc="Allowed extensions (comma separated)">aspx</param>
        <param desc="Blocked extensions (comma separated)">*</param>
        <param desc="Blocked extensions that stream files (comma separated)">css,js</param>
        <param desc="Blocked extensions that do not stream files (comma separated)">*</param>
      </processor>
      <processor type="Sitecore.Pipelines.HttpRequest.QueryStringResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.DynamicLinkResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.AliasResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.DefaultResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.FileResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.DeviceSimulatorResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.LayoutResolver, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.PageEditorHandleNoLayout, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.HttpRequest.ExecuteRequest, Sitecore.Kernel" />
    </httpRequestBegin>
  8. In the <pipelines> section, add a new pipeline <getPageEditorNotifications>, after the <getLookupSourceItems> pipeline:
    <getPageEditorNotifications>
      <processor type="Sitecore.Pipelines.GetPageEditorNotifications.GetWorkflowNotification, Sitecore.Kernel, Version=6, Culture=neutral" />
    </getPageEditorNotifications>
  9. In the <pipelines> section, add a new pipeline <getPagePreviewUrl>, after the <getPageEditorValidators> pipeline. Lines that should be added:
    <getPagePreviewUrl>
      <processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetDefaultUrlOptions, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetPagePreviewUrl.SetLanguage, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetUrl, Sitecore.Kernel" />
    </getPagePreviewUrl>
  10. In the <pipelines> section, add a new pipeline <resolveRenderingDatasource>, after the <getRenderingDatasource> pipeline:
    <!--  Allows developers to override the default logic for resolving the data source for renderings. -->
    <resolveRenderingDatasource>
    </resolveRenderingDatasource>
  11. In the <pipelines> section, add a new pipeline <getTranslation>, after the <findVisitorEmailAddress> pipeline:
    <!-- Performs dictionary lookups. The Sitecore.Globalization.Translate.Text() method invokes this pipeline. -->
    <getTranslation>
      <processor type="Sitecore.Pipelines.GetTranslation.ResolveContentDatabase, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetTranslation.TryGetFromDomain, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetTranslation.TryGetFromFallbackDomains, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetTranslation.TryGetFromSiteDomain, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetTranslation.TryGetFromContextDatabase, Sitecore.Kernel" />
      <processor type="Sitecore.Pipelines.GetTranslation.TryGetFromCoreDatabase, Sitecore.Kernel" />
    </getTranslation>
  12. In the <sitecore> section, add a new section "retryer" after the <pipelines> section:
    <!-- RETRYER
         When enabled, the Retryer resends failed database requests a specified number of times.
         For example, this is useful if you configure a Sitecore instance to support hot failover for database calls.
         Default value: disabled="true"
    -->
    <retryer disabled="true" type="Sitecore.Data.DataProviders.Retryer, Sitecore.Kernel">
      <param desc="Number of tries">6</param>
      <param desc="Interval between tries">00:00:00.500</param>
      <param desc="Log each exception (should be used for debug only)">true</param>
    </retryer>
  13. In the <sitecore> section, add a new section "SACauthorization" after the <siteManager> section:
    <SACauthorization defaultProvider="server">
      <providers>
        <clear />
        <add name="server" type="Sitecore.ApplicationCenter.ServerAuthorizationProvider, Sitecore.Kernel" />
      </providers>
    </SACauthorization>
  14. In the <processors> section, add a new <uiRenamePage> pipeline, after the <uiRenameItem> pipeline:
    <uiRenamePage>
      <processor mode="on" type="Sitecore.Shell.Framework.Pipelines.RenamePage,Sitecore.Kernel" method="CheckPermissions" />
      <processor mode="on" type="Sitecore.Shell.Framework.Pipelines.RenamePage,Sitecore.Kernel" method="CheckShadows" />
      <processor mode="on" type="Sitecore.Shell.Framework.Pipelines.RenamePage,Sitecore.Kernel" method="GetNewName" />
      <processor mode="on" type="Sitecore.Shell.Framework.Pipelines.RenamePage,Sitecore.Kernel" method="CheckLinks" />
      <processor mode="on" type="Sitecore.Shell.Framework.Pipelines.RenamePage,Sitecore.Kernel" method="Execute" />
      <processor mode="on" type="Sitecore.Shell.Framework.Pipelines.RenamePage,Sitecore.Kernel" method="RepairLinks" />
    </uiRenamePage>
  15. In the <pageextenders> section, add new pageextender "PreviewExtender", after the DebuggerPageExtender. The section now looks like this in a default Sitecore installation:
    <!-- PAGE EXTENDERS
      Page Extenders allows additional controls to be added to every page. The Debugger, Preview and WebEdit
      are examples of this.
    -->
    <pageextenders>
      <pageextender type="Sitecore.Layouts.PageExtenders.PreviewPageExtender" />
      <pageextender type="Sitecore.Layouts.PageExtenders.WebEditPageExtender" />
      <pageextender type="Sitecore.Layouts.PageExtenders.DebuggerPageExtender" />
      <pageextender type="Sitecore.Shell.Applications.Preview.SimulatedDevicePreview.PageExtenders.PreviewExtender, Sitecore.Client" />
    </pageextenders>
  16. In the comment above the <sites> section, a new dictionaryDomain attribute is described. The full comment for the <sites> section now looks like this:
    <!--  SITES
          Enable different web sites for different domains in the same Sitecore structure
          Supported attributes:
              mode: [on|off]. If set to 'off', the site will be disabled. Default value: 'on'.
              name: Name of the site.
              hostName: The host name of the incoming url. May include wildcards (ex. www.site.net, *.site.net, *.net, pda.*, print.*.net)
                        It's possible to set more than one mask by using '|' symbol as a separator (ex. pda.*|print.*.net)
              port: The port number of the incoming url. Default value: 80
              virtualFolder: The prefix to match for incoming URL's.
                             This value will be removed from the URL and the remainder will be treated as the item path.
              physicalFolder: The physical location of files for the site.
                              If the site is based on physical files, this is the path to the folder holding the files.
                              For non-physical sites, this is the place where Sitecore looks for a default.html file (to start the pipelines).
              rootPath: The path to the root item of the site.
                        The item path specified in the URL will be appended to this value to find the item.
              startItem: The path to the start item of the site.
                         This is used as the default item path if no path is specified in the URL.
                         It will be combined with rootPath to find the default item of the site.
              language: Default language for the site.
              database: Database containing items to be used for rendering the site.
              content: Database containing items to be edited.
              contentLanguage: The default editing language in the client.
              contentStartItem: The path to the start item when using the client.
              masterDatabase: The database containing the data to be shown in preview and web edit modes.
              device: The name of the device to use for the site. If not specified, the device resolver will find a 'best match device'.
              filterItems: If true, the site will always show the current version of an item (without publishing)
              filteredItemsCacheSize: The size of the cache used to store filtered items. Specify the value in bytes or append the value with KB, MB or GB
              cacheHtml: If true, HTML caching will be enabled. If false, no HTML will be cached for any rendering. Default value: false.
              htmlCacheSize: The size of the html cache. Specify the value in bytes or append the value with KB, MB or GB
              cacheMedia: If true, media caching will be enabled. If false, no media will be cached. Default value: true.
              mediaCachePath: The path to the folder where media data will be cached. Default value: {temp folder}/{site name}/mediacache.
              domain: The security domain of the site.
              requireLogin: If true, login will be required to enter the site.
              loginPage: The path to the login page to use. Must point to a physical file or a page in a site that does NOT require login.
              enableDebugger: Indicates if the debugger is enabled on the site. Typically this is only the website.
              enablePreview: Indicates if preview is enabled on the site. Typically this is only the website.
              enableWebEdit: Indicates if WebEdit is enabled on the site. Typically this is only the website.
              enableWorkflow: Must be true to enable workflows for the site.
              enableAnalytics: Indicates if analytics is enabled on the site. Typically this is only the website. Default value: true.
              allowDebug: Must be true to be able to debug the site.
              browserTitle: The title of the browser window when browsing the site.
              disableClientData: If set to true, the use of ClientDataStore will be disabled for the site.
              disableXmlControls: If set to true, loading Xml Controls as pages will be disabled.
              defaultDevice: The device to use if no specific device matches the request. This setting takes precedence over the default
              device as it is set by Default checkbox for Device item.    
              dictionaryDomain: The default domain to use when looking up dictionary phrases for the website. If a phrase does not exist in
                                this dictionary domain, Sitecore attempts to locate that phrase in the default dictionary domain  -
                                /sitecore/system/Dictionary in the current database. If the phrase cannot be found in the default dictionary domain, Sitecore attempts to locate that phrase
                                in the default dictionary domain in the Core database, if that database exists.
                                You can override the site-specific dictionary domain by passing parameters to the Translate.Text() method.
              inherits: Indicates that the attributes should be inherited from another site. To enable inheritance, you must specify the name of the source site.
                        Attributes that are explicitly specified overwrite the attributes that are inherited from the source site.
    -->
  17. In the <settings> section, add three new settings related to the Page Preview feature, after the "PageStateStore" setting:
    <!--  PAGE PREVIEW SITE NAME
          Specifies the name of the site that is used to generate page previews, for example "website".
          If blank, Sitecore uses the value in the Preview.DefaultSite setting.
          Default value: "" (use the value of the Preview.DefaultSite setting)
    -->
    <setting name="PagePreview.SiteName" value="" />
    <!--  PAGE PREVIEW SESSION EXPIRATION PERIOD
          Specifies the period of time during which page previews are valid.
          Default value: 365.00:00:00 (1 year)
    -->
    <setting name="PagePreview.SessionExpirationPeriod" value="365.00:00:00" />
    <!--  PAGE PREVIEW MAX PREVIEW SESSIONS COUNT
          Specifies the maximum number of preview sessions that are stored for a language version of an item.
          Default value: 32
    -->
    <setting name="PagePreview.MaxSessionsCount" value="32" />
  18. In the <system.webServer><handlers> section, add new handler for device simulation, after the "sitecore_handlers.ashx" handler:
    <add verb="*" path="sitecore_device_simulation.ashx" type="Sitecore.Shell.DeviceSimulation.SimulationRequestHandler, Sitecore.Kernel" name="Sitecore.SimulationRequestHandler" />
  19. In the <system.web><httpHandlers> section, add new HTTP handler for device simulation, after the "sitecore_handlers.ashx" handler:
    <add verb="*" path="sitecore_device_simulation.ashx" type="Sitecore.Shell.DeviceSimulation.SimulationRequestHandler, Sitecore.Kernel" />
  20. In the <runtime><assemblyBinding> section, add the following node:
    <dependentAssembly>
      <assemblyIdentity name="Lucene.Net" publicKeyToken="85089178b9ac3181" />
      <bindingRedirect oldVersion="0.0.0.0-2.9.4.0" newVersion="2.9.4.1" />
    </dependentAssembly>
  21. In the <configuration> section, add a new section <system.serviceModel> to the end of the <configuration> section:
    <system.serviceModel>
      <bindings>
        <basicHttpBinding>
          <binding name="SitecoreApplicationCenter" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:05:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
            <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          </binding>
        </basicHttpBinding>
      </bindings>
    </system.serviceModel>

Changes to the Sitecore.Analytics.config file

Notice: This file does not exist and does not need to be upgraded if you have not installed Sitecore Analytics.

Tip: Most customers have only applied a small number of changes (if any) to the Sitecore.Analytics.config file. In that case, we strongly recommend that you simply download the clean config file using the link above and re-apply any changes that you've made to save time and to reduce the risk of making mistakes when adding the new settings, pipelines, etc. to the file.

The following changes have been made to the Sitecore.Analytics.config file of DMS 6.6.0 rev. 120918 (Initial Release) as compared to the Sitecore.Analytics.config file of DMS 2.0.1 rev. 120706.

  1. The comments for almost all the settings in the file have been updated to make them more descriptive. We recommend that you download a clean version of the Sitecore.Analytics.config file and re-apply any changes that you've made (in which case you can skip step 2-4 below).
  2. In the <settings> section, add the following setting:
    <!--  ANALYTICS TRACKER CHANGES LONG OPERATION THRESHOLD
          Defines the threshold value in milliseconds for logging long running analytics tracker operations, such as analytics insert operations.
          Default: 2500 (2.5 seconds)
    -->
    <setting name="Analytics.TrackerChanges.LongOperationThreshold" value="2500" />
  3. In the <acceptChanges> pipeline, move the DropCancelledPage processor to the very first position in the pipeline. The <acceptChanges> pipeline now looks like this in a default Sitecore installation:
    <acceptChanges>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.DropCancelledPage,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.DoNotWrite,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.Robots,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.GeneratingCampaignEvents,
    Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.UpdateAutomationStates,
    Sitecore.Automation.MarketingAutomation"/>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.AcceptSharedChanges,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.AcceptChanges.AcceptVisitorChanges,
    Sitecore.Analytics"/>
    </acceptChanges>
  4. In the <pipelines> section, add a new pipeline <excludeRobots>:
    <excludeRobots>
      <processor type="Sitecore.Analytics.Pipelines.ExcludeRobots.TryObtainCachedResult,
    Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.ExcludeRobots.CheckUserAgent,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.ExcludeRobots.CheckIpAddress,Sitecore.Analytics"/>
      <processor type="Sitecore.Analytics.Pipelines.ExcludeRobots.AddResultToCache,Sitecore.Analytics"/>
    </excludeRobots>

Changes to the Commands.config file

The following changes have been made to the Commands.config file of Sitecore CMS 6.6.0 rev. 120918 (Initial Release) as compared to the Commands.config file of Sitecore CMS 6.5.0 rev. 120706 (Update-5):

  1. Add the following 12 commands (it is suggested to add them in alphabetical order in relation to the existing commands, but they can be added at any place):
      <command name="archive:showversions" type="Sitecore.Shell.Framework.Commands.Archives.ShowVersions,Sitecore.Kernel"/>
      <command name="contenteditor:pagepreviews" type="Sitecore.Shell.Framework.Commands.ContentEditor.PagePreviews,Sitecore.Kernel"/>
      <command name="dashboard:opensinglecampaign" type="Sitecore.Shell.Framework.Commands.Dashboard.OpenSingleCampaign,Sitecore.Client" />
      <command name="item:archiveitem" type="Sitecore.Shell.Framework.Commands.Archive,Sitecore.Kernel" />
      <command name="item:archiveversion" type="Sitecore.Shell.Framework.Commands.ArchiveVersion,Sitecore.Kernel" />
      <command name="webedit:clearimage" type="Sitecore.Shell.Applications.WebEdit.Commands.ClearImage,Sitecore.Client"/>
      <command name="webedit:movepage" type="Sitecore.Shell.Applications.WebEdit.Commands.MovePage,Sitecore.Client"/>
      <command name="webedit:rename" type="Sitecore.Shell.Applications.WebEdit.Commands.Rename,Sitecore.Client"/>
      <command name="webedit:sortcontent" type="Sitecore.Shell.Applications.WebEdit.Commands.SortContent,Sitecore.Client"/>
      <command name="webedit:selectdevicesimulator" type="Sitecore.Shell.Applications.WebEdit.Commands.SelectDeviceSimulator,
    Sitecore.Client"/>
      <command name="webedit:setdatasource" type="Sitecore.Shell.Applications.WebEdit.Commands.SetDatasource,Sitecore.Client"/>
      <command name="webedit:simulatedevice" type="Sitecore.Shell.Applications.WebEdit.Commands.SimulateDevice,Sitecore.Client"/>
  2. Remove the following 2 commands "item:archive" and "item:archivedateclear":
      <command name="item:archive" type="Sitecore.Shell.Framework.Commands.Archive,Sitecore.Kernel" />
      <command name="item:archivedateclear" type="Sitecore.Shell.Framework.Commands.ArchiveDateClear,Sitecore.Kernel" />

Changes to the FieldTypes.config file

The following changes have been made to the FieldTypes.config file of Sitecore CMS 6.6.0 rev. 120918 (Initial Release) as compared to the FieldTypes.config file of Sitecore CMS 6.5.0 rev. 120706 (Update-5):

  1. Add the following field type definition in the "List Types" section of the file, after the "Multilist" node:
      <fieldType name="Name Value List" type="Sitecore.Data.Fields.NameValueListField,Sitecore.Kernel" />
  2. Add the following field type definitons in the "System Types" section of the file, after the "File Drop Area" node:
      <fieldType name="Page Preview" type="Sitecore.Data.Fields.PagePreviewField,Sitecore.Kernel" />
      <fieldType name="Rendering Datasource" type="Sitecore.Data.Fields.RenderingDatasourceField,Sitecore.Kernel" />